Oftentimes, the error rate of wireless networks is not sufficient for video applications due to the possible large number of large packet losses/drops. Dropped or lost packets are sometimes not recovered, but in schemes where packet recovery is implemented, packets are recovered using retransmission or forward error correction (FEC), or a combination of both. FEC has been widely used to correct errors without requiring retransmission. FEC allows recovery of data contained in corrupted, dropped; or lost packets by transmitting redundant information, which can be used by the receiver to reconstruct missing data. FEC provides faster recovery of data than does retransmission and does not require a feedback channel. Static FEC techniques have been used by many researchers but fail to match FEC overhead with channel and network conditions.
The use of FEC in wireless networks has been an active area of research in wireless video applications. One advantage of FEC is that it works well with Multicast. Also, FEC does not require interaction with the video encoder and hence is applicable to any video coding technique, and to both stored and live video. However, static FEC algorithms can degrade performance by the mismatch between network resources and the amount of redundancy such algorithms add that consume the limited bandwidth of the wireless network.
Adaptive FEC techniques have been shown to benefit network performance. All adaptive techniques require feedback to estimate available network bandwidth and then adapt the amount of redundancy based on the feedback. The feedback may be explicit, such as Real-Time Control Protocol (RTCP) reports, or implicit, such as the use of wireless sender lower layers packet retransmission. In general, the adaptation mechanism increases the number of redundant packets to send if the network condition is poor. If the network condition is satisfactory, then no redundant packets, or only a small number of redundant packets, need to be transmitted. Most of the prior art approaches are directed to bit-level FEC.